// page/addaddress/addaddress.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        addressId:0,
        receiver: '',
        phone: '',
        region: ['省', '市', '区'],
        customItem: '全部',
        area: ''
    },
    input(e) {
        let data = {}
        data[e.currentTarget.dataset.key] = e.detail.value
        this.setData(data)
    },
    return: function (e) {
        wx.navigateBack({
            delta: 1,
        })
    },
    bindRegionChange: function (e) {
        console.log('picker发送选择改变，携带值为', e.detail.value)
        this.setData({
            region: e.detail.value
        })
    },

    submit() {
        let address = {
            memberId: wx.userInfo._id,
            receiver: this.data.receiver,
            phone: this.data.phone,
            city: this.data.region.join(''),
            area: this.data.area
        }
        //验证收货人
        if (!address.receiver || !/^[\u2E80-\u9FFF]+$/.test(address.receiver)) {
            wx.showToast({
                title: '请输入正确的收货人',
                icon: 'fail',
                duration: 2000
            })
            return false
        }
        //验证电话号码
        if (!address.phone || !/^1\d{10}$/.test(address.phone)) {
            wx.showToast({
                title: '请输入正确的电话号码',
                icon: 'fail',
                duration: 2000
            })
            return false
        }
        //验证地址
        if (!address.city) {
            wx.showToast({
                title: '请选择地址',
                icon: 'fail',
                duration: 2000
            })
            return false
        }
        if (this.data.addressId) { //修改
            address.addressId = this.data.addressId
            wx.put('http://localhost:3000/wx/address', address).then(res => {
                if (!res.errMsg) {
                    wx.showToast({
                        title: '修改成功',
                        icon: 'success',
                        duration: 2000
                    })
                    setTimeout(() => {
                        wx.navigateBack({
                            delta: -1,
                        })
                    })
                } else {
                    wx.showToast({
                        title: res.errMsg,
                        icon: 'fail',
                        duration: 2000
                    })
                }
            })
        } else { ///新增
            wx.post('http://localhost:3000/wx/address', address).then(res => {
                if (!res.errorMsg) {
                    wx.showToast({
                        title: '新增成功',
                        icon: 'success',
                        duration: 2000
                    })
                    setTimeout(() => {
                        wx.navigateBack({
                            delta: -1,
                        })
                    })
                } else {
                    wx.showToast({
                        title: res.errorMsg,
                        icon: 'fail',
                        duration: 2000
                    })
                }
            })
        }
    },

    /**
     * 生命周期函数--监听页面加载
     */
    getAddressDetail(){
        wx.get('http://localhost:3000/wx/address/detail',{
            addressId:this.data.addressId
        }).then(res => {
            this.setData({
                receiver:res.receiver,
                phone:res.phone,
                city:res.city,
                area:res.area
            })
        })
    },
    onLoad: function (options) {
        if(options.addressId){
            this.setData({
              addressId:options.addressId
            })
            ///获取地址详情
            this.getAddressDetail()
          }
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})